Object selection using hit test tracks

ABSTRACT

A method for labeling the pixels within a selected visual area of at least one image frame containing that visual area from a sequence of image frames stored in memory and operative to be displayed on an interactive display so that a user may subsequently select the selected visual area on a pixel accurate, frame accurate basis. To label the selected visual area within an image frame, the scene within that image frame is segmented to identify the selected visual area, each pixel within that selected visual area is then labeled with an area identifier which is unique to that selected visual area, and the pixels containing the area identifiers are mapped into an item buffer. The item buffer is then compressed and stored within a labeled portion of memory linked with the stored frame image from which the item buffer was derived. When a user subsequently selects a pixel within any frame image of the sequence of frame images the pixel is decompressed within the labeled portion of memory corresponding to the pixel in the selected frame image to determine the area identifier for the selected pixel. This area identifier is then used for a number of purposes, such as to identify an area within the frame image corresponding to the selected pixel, or to cause some action related to the selected pixel to be performed.

FIELD OF THE INVENTION

[0001] The present invention relates generally to methods for selectingobjects from a moving image sequence of digitized or synthesized images,and more particularly, to a technique for storing auxiliary data in anitem buffer, along with a video track, so as to precisely identifyobjects which can be selected from within each frame of the video track.

BRIEF DESCRIPTION OF PRIOR ART

[0002] Object selection methods allow a user to select an individualobject from among a group of objects in an image. One approach to objectselection centers around determining which line segment on atwo-dimensional screen image has been selected by a user. Typically,these line segments are connected to form a polygonal region, but theymay also not be connected at all. One method, called “cursor picking”,which is described by J. D. Foley and A. Van Dam, in “Fundamentals ofInteractive Computer Graphics”. Addison-Wesley Publishing Company, 1984,pps. 200-204, creates bounded extents, which can be checked using simpleequations. Such a scheme, for example, would allow a user to select andmodify the characteristics of a particular triangle on a screen, eventhough there may be many other objects, such as circles, trapezoids, andarbitrary polygonal regions, also visible on the screen. Another methodfor object selection is to have an object name associated with everyobject in a scene. To make an object an active selection, the usersimply types in the object name that they want to select. This methodhas no geometric correspondence.

[0003] Another technique typically utilized in interactive systems, suchas Apple Computer Incorporated's HyperCard™ program, permits the user toidentify a rectangular bounding region on the screen with a particularobject, such as a button or field. The HyperCard program looks to seewhere the cursor location is when a selection is made and, at that time,searches for the object (such as a button or field) that has a boundingrectangle at that location. If no bounding rectangle encloses the cursorlocation, no object is selected. Conversely, if there is a boundingrectangle which encloses the object, the corresponding object isselected. All of the above techniques do not allow for accurate objectselection of arbitrarily complex boundaries and can be difficult to usewhen attempting to identify object boundaries precisely.

[0004] Item buffers are generally used to speed up image synthesisalgorithms, such as ray tracing or radiosity. They may also be used toidentify single object three-dimensional surface areas for usage withinteractive painting and lighting systems which manipulatetwo-dimensional images. When computing radiosity form factors, ahemi-cube algorithm is typically used to speed up the calculation. Inthis algorithm, five faces of a cube are rendered as item buffers whichcontain object tags. By counting the number of tagged pixels in the faceimages, the form factor is computed for a particular polygon when seenfrom the vertex of another polygon. A description of such a system ispresented by Michael F. Cohen and Donald P. Greenberg, in “TheHemi-Cube: A Radiosity Solution for Complex Environments”, ComputerGraphics, #19, Vol. 3, July 1985, pp. 31-40.

[0005] Ray tracing may be accelerated by scan-converting an “object tag”image into an item buffer. Then, for each pixel, the ray from the cameracorresponding to that pixel is assumed to intersect with the objectwhose tag is in that pixel. By using an item buffer the algorithm avoidsperforming any primary ray-object intersection tests. In this way, raytracing is made more computationally efficient. A description of such asystem is presented by Hank Weghorst, Gary Hooper, and Donald P.Greenberg, “Improved Computational Methods for Ray Tracing”, ACMTransactions on Graphics, Vol. 3, No. 1, January 1984, pp. 52-69.

[0006] In “Direct WYSIWYG Painting and Texturing on 3D Shapes,” by PatHanrahan and Paul Haeberli, Computer Graphics, Vol. 24, No. 4, August1990. pp. 215-223, a single three-dimensional object is rendered into an“id buffer” which stores the surface u-v values for the visible surfacein that pixel. When painting onto the image, the surface position andsurface normal vectors are determined by examining the object id bufferand then the result is used to shade the pixel as the texture maps aremodified. This method allows a user to paint on an image in twodimensions and allows modification of the object geometry or lighting inthree-dimensional space. The resultant modification is computed inthree-dimensional space and then calculated as two-dimensional screenpixels, which are selectively written into the visible screen buffer.

BRIEF SUMMARY OF THE INVENTION

[0007] A preferred embodiment of the present invention comprises amethod for labeling the pixels within a selected visual area of at leastone image frame containing that visual area from a sequence of imageframes stored in memory and operative to be displayed on an interactivedisplay so that a user may subsequently select the selected visual areaon a pixel accurate, frame accurate basis. To label the selected visualarea within an image frame, the scene within that image frame issegmented to identify the selected visual area, each pixel within thatselected visual area is then labeled with an area identifier which isunique to that selected visual area, and the pixels containing the areaidentifiers are mapped into an item buffer. The item buffer is thencompressed and stored within a labeled portion of memory linked with thestored frame image from which the item buffer was derived. When a usersubsequently selects a pixel within any frame image of the sequence offrame images the pixel is decompressed within the labeled portion ofmemory corresponding to the pixel in the selected frame image todetermine the area identifier for the selected pixel. This areaidentifier is then used for a number of purposes, such as to identify anarea within the frame image corresponding to the selected pixel, or tocause some action related to the selected pixel to be performed.

BRIEF DESCRIPTION OF THE DRAWING

[0008]FIG. 1 is a block diagram illustrating a computer for use inconjunction with the preferred embodiment of the present invention;

[0009]FIG. 2a illustrates a single frame of a video track;

[0010]FIG. 2b illustrates a single frame of a hit test trackcorresponding to the video track of FIG. 2a;

[0011]FIG. 3a illustrates a set of video tracks and sound tracks;

[0012]FIG. 3b illustrates the same multi-track data as FIG. 3b, butincludes a hit test track;

[0013]FIG. 4a illustrates the required contents of the user data sectionof a hit test track in accordance with the preferred embodiment of thepresent invention;

[0014]FIG. 4b illustrates the optional contents of the user data sectionof the hit test track of FIG.

[0015]FIG. 5 is a flow chart illustrating the interactive playback of amovie sequence utilizing hit test tracks in accordance with thepreferred embodiment of the present invention; and

[0016]FIG. 6 is a flow chart illustrating the creation of hit testtracks for multi-track movies in accordance with the preferredembodiment of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT

[0017] The personal computer is becoming a more effective tool forpresenting multimedia works everyday. Many of the techniques forpresenting and using multimedia information in such computers arecarried out in software, although hardware products could also bedeveloped, albeit at much greater costs, for carrying out the samefunctions. With respect to the preferred embodiment of the presentinvention, hardware could also be developed which would implement thepresent invention, but software techniques operating in conjunction withthe computer system 10 of FIG. 1 are preferably utilized herein to mosteffectively implement the present invention.

[0018] The computer 10, such as an Apple Macintosh computer manufacturedby Apple Computer, Inc., Cupertino, Calif., is comprised of a centralprocessing unit 12, an input/output 14, a memory 16, a pointing device18 and a display 20. Preferably, CPU 12 is powerful enough to carryoutdata compression/decompression in software at reasonable speeds, such asis possible with a Motorola 68020 microprocessor running at a clock rateof at least 16 MHz, but other much lower performance processors runningat lower clock speeds could also be used with acceptable performance ifadditional data compression/decompression hardware were included as partof the computer system 10. Input/output 14 connects CPU 12 to auxiliarydevices, such as speakers, and auxiliary sources of data and memory,such as a hard disk storage device, a CD-ROM, or a high bandwidthnetwork. Even with highly efficient compression techniques, substantialauxiliary storage would still be required for the audio, video and hittest tracks of the present invention. Memory 16 would typically includesome type of mass storage as well as some random access memory, althoughother types of fast access memory could also be utilized. Pointingdevice 18 could be any of a number of such devices, such as a mouse,trackball, or stylus. Display 20 would preferably be any display havingsufficient resolution to clearly display the video information.

[0019] Video data used in multimedia works is typically formed from aseries of single frames of visual information sequentially strungtogether for playback by computer 10. This video data is typicallystored in an auxiliary storage device as a video track along with otherforms of temporal data associated with it, such as an audio track. FIG.2a illustrates a single frame 30 of a video track, comprised of a numberof distinct objects 32, as visible to a viewer on the display 20. Thevideo track can either be precalculated as synthetic or computergenerated imagery, or alternatively, as a video sequence that has beendigitized from analog video data. This video image sequence can eitherbe in a compressed or uncompressed format. As utilized herein, “videoframe” means any analog image frame or any digitized frame captured witha scanner or camera or created using a paint program or renderer.

[0020]FIG. 2b illustrates a single frame 34 of an image called an “itembuffer” which is stored as a compressed frame in a hit test trackcorresponding to the video frame 30 of FIG. 2a. The frames 34corresponding to the hit test track, unlike frame 30 of the video track,would not be visible to a user on the display 20. Rather, the hit testtrack, as will be further explained below, is an auxiliary track of datawhich corresponds to the video track and which identifies (maps) thelocation of objects, or user defined areas, within the video track on aper pixel per frame basis. Although FIG. 2b illustrates each of thenumbered objects 36 in frame 34 corresponding to an identically shapedobject 32 in the frame 30, objects 36 in the hit test track could becreated which correspond to any abstract user selected area in the frame30, whether visible or not. For example, if frame 30 illustrated a roomwith some paintings, an open doorway, and a statue, it may be desirableto associate an object 36 from the hit test track with each of thepaintings, the statute, and the abstract open area of the doorway.Regardless of the objects or areas selected by the user, the auxiliaryhit test track of the present invention is most useful for what iscommonly called “object picking”. where the user of the computer 10 canselect an object on the display 20 using pointing device 18 in any frameof a moving image sequence, thereby causing the system to initiate anaction based on the selected object. The initiated action can be any ofa large number of different actions, such as the playback of a separatemultimedia work or the performance of a subroutine program. As will befurther illustrated below, since the hit test data corresponds to visualobjects on a per pixel, per frame basis, object selection is highlyaccurate.

[0021] The present invention is ideally suited for use in a computer 10capable of operating multimedia type computer programs, such as asoftware program that is designed to manipulate various forms of mediarepresented as a series of related temporal tracks of data (such asvideo, sound, etc.), each of those tracks being operative to be offsetby some fixed time from the other tracks. A set of such tracks beingherein referred to as a multi-track movie. A representation of a smallmulti-track movie is illustrated in FIG. 3a, which is comprised of afirst set of video and sound tracks 40 and a second set of video andsound tracks 42. In each case, the temporal video track duration is thesame as the temporal sound duration. The second set of video and soundtracks has a shorter duration than the first set and begins with a fixedtime offset after the start of the first set. In FIG. 3b, the same setof multi-track movie data is represented, except that there is also ahit test track 44 stored in the movie. In this case, the hit test trackcorresponds to the first set of video and sound tracks, has the sameduration as the first set, contains the same number of frames as thevideo track of the first set, and identifies the location of objects inthe image sequences comprising the video track of the first set.

[0022] It should be noted that the video track and the corresponding hittest track will be, in the most general case, a sequence of movingimages. However, it is also possible to use the techniques of thepresent invention on just a single image, in which case each trackcomprises only a single frame. It should also be noted that the hit testtrack need not be compressed using the same compression techniques asthe video track and need not be stored at precisely the same resolutionas the video track. The hit test track is preferably compressed using alossless data or image compression technique which need not conform tothat of the video track. In addition, if the video track happens to behighly compressed, it may make sense to use a subsampled, or coarsergrid, version of the hit test track (such as subsampling on the order of2:1 or 4:1). In such an event, on playback, the nearest available objectidentification value in the coarse grid version of the hit test track isused as the object identifier. Although this alternative embodiment willnot have the pixel accurate advantage of the full resolution hit testtrack, it still permits the user to select most objects in the scene atan acceptable level of precision.

[0023] With respect to the preferred embodiment of the presentinvention. any track of the multi-track movie has the option of havingan associated set of auxiliary, hit test track, information. Thisauxiliary information is typically stored along with the correspondingtrack of the multi-track movie as a set of tag, size and data fieldsthat are used to facilitate manipulation of the temporal data containedin that hit test track. Since these fields are user or applicationdefined, they are referred to herein as “user data”. This user data isstatic, meaning it doesn't change over time. The organization andcontent of the user data for a hit test track, shown generally as 50, isillustrated in FIG. 4a. The hit test tag 52 is an identifier thatdesignates the track as a hit test track. In the presently preferredembodiment of the present invention, the four character tag field isrepresented by the characters “HIT_”, wherein “_” represents a space.The hit test track is marked with this tag field to distinguish the hittest track from video data. Hence, when computer 10 is interpreting thetrack data, it will know to only use hit test track to identify objectswhich lie in the video scene. The next field in the hit test track 50 isthe size of the data field 54, which indicates the number of bytes ofinformation in the data field.

[0024] The remaining portions of information contained in hit test track50 are within the data field, which is preferably comprised of videotrack identifier 56, compression format 58, pixel bit depth 60 and hittest data 62. The video track identifier 56 describes the video track ina multi-track movie to which the hit test track 50 corresponds.Utilization of a video track identifier 56 allows the computer 10 toknow which video track is used in conjunction with the hit test track.Such information can be important where there are a number of hit testtracks which refer to the same video track. Compression format 58indicates the format utilized to compress the hit test data 62.

[0025] As previously stated, although a number of different compressionformats can be utilized for both the video track and the hit test data62, the preferred embodiment for the hit test data 62 is lossless dataencoding. There are a number of applicable methods of lossless encodingthat may be employed, including run-length encoding, quad-tree coding,or Huffman coding, all of which are well known in the art. By indicatingthe compression format, the computer 10 may readily determine how todecompress the hit test data. Pixel bit depth 60 indicates the pixel bitdepth to which the compressed data is to be decompressed. This featureallows for correct interpretation of the word length of the hit testdata 62. It should be noted that compact descriptions of the objects inthe hit test track 50, other than compression techniques, can beutilized. For example, it may be desirable to store a geometricdescription of the objects in the hit test track 50. This list ofgeometric primitives for hit test regions would likewise correspond toeach frame in the original video track.

[0026] It should also be noted that hit test track 50 need not includeall of the above-described portions in order to be fully operable.Rather than include an indication of the compression format 58 or thepixel bit depth 60, there could be a default compression format utilizedby computer 10 which automatically provided that information. Forexample, the present invention could take advantage of the compressionformats offered by a software program which manipulates (includingcompression and decompression) multi-track movies, whereby computer 10would automatically know to handle various types of data in accordancewith various types of compression formats.

[0027] In addition to the portions of information described abovecontained within the data field of hit test track 50, there are otherportions of information which could be included therein. Two suchportions are described below with reference now to FIG. 4b. Object tostring name mapping table 64 could be utilized to associate ascii stringnames with particular objects in the corresponding video or sound track.For example, it may be desirable to store the name “cube” in the hittest track corresponding to every pixel of a video image containing acube. A likely table construct would contain a list of a series ofnumbers and associated name strings, such as ((1,cube), (2,painting),(3,chair), (4,blob), etc.). These names can then be passed on to ascripting environment for further interpretation or usage. Object toevent mapping table 66 could likewise be utilized to associate eventswith particular objects. For example, it may be desirable to initiatethe event “play movie scene 3” whenever a user uses the cursor on thedisplay 20 under the control of the pointing device 18 to select a pixelcontaining a particular object. A likely table construct would contain alist of a series of numbers and associated event strings, such as ((1,“play movie X”), (2,“play sound Y”), (3,“go to screen 10”), (4,“playmovie Z”), etc.). These events could also then be passed on to aninterpretive scripting environment.

[0028] Although discussed in greater detail with reference to FIGS. 5and 6, the operation of a computer 10 running a program which utilizeshit test tracks as part of a multi-track movie will now be brieflydescribed. To determine when to access data in the hit test track, theprogram of computer 10 determines when a user has made a selection at aparticular position on the screen of display 20 where the aforementionedcursor is displayed. The program then determines which frame of thevideo sequence is currently being displayed. At that point, the programinterrogates each track of the multi-track movie to determine whichtrack has the identifiers indicating it is a hit test track for theparticular video track being displayed. Once the proper hit test trackhas been determined, the frame in the hit test track corresponding tothe video frame currently being displayed is accessed and decompressedaccording to the particular compression format in which it is stored.

[0029] During decompression, only the region at or surrounding the pixelof interest is decompressed. When the exact pixel for object selectionsis identified, its decompressed value is returned to the program as theobject's identifier. The object identifier can then be used to map intoa name table or event table if so desired. If the object identifier mapsinto a name table, an ascii string name is returned to the program. Ifthe object identifier maps into an event table, the “event” is returnedto the system, which can trigger the occurrence of various events, suchas the playing of a sound, the display of a sequence of video frames ora picture image on the screen of display 20. The event to be triggeredand handled by the program, as mentioned above, is data contained in theevent table. The meaning of those events will depend on what type ofinteractive environment is used on the program of interest. In thepreferred embodiment of the present invention, events are to beinterpreted by a high level scripting language.

[0030] With reference now to FIG. 5, a flow chart illustrating theinteractive playback of a movie sequence utilizing hit test tracks inaccordance with the preferred embodiment of the present invention willnow be described. As the frames of a moving image sequence from a videotrack is played back by computer 10, block 70, the program tests to seeif a mouse down event has occurred in the video frame, block 72. If amouse down event has occurred in a video frame, versus some otherportion of visible space on the screen of display 20, the video frame Xis recorded in memory 16, as is the mouse position (mx,my) at the timeof the mouse down event, block 74. If no mouse down event has occurred,the program returns to block 70 to continue playing the movie sequence.After storing the video frame X and the mouse down position (mx,my), theprogram proceeds to search the user data fields of all of the tracks ofthe multi-track movie for any track that has the hit test trackidentifier or tag “HIT_”, block 76.

[0031] When a track identified as hit test track has been found, block78, the program reviews the user data of the hit test track to verifythat the identified hit test track refers to the current video trackbeing displayed, block 80. If the hit test track refers to the currentvideo track, the program then determines the compression format Z,unless there is a default compression format and the bit depth at whichto decompress the data, block 82. The next step in the process is todecompress the appropriate frame X (corresponding to the video frame Xin the sequence) of the hit test track using the decompression method Z.Although the decompression that occurs can be of the full video frame X,it is preferable to just decompress the region surrounding the exactpixel location (mx,my) selected by the user in the video frame X, block84. Note that the object identifier value for the selected object wouldbe the same regardless of the pixel location within the object selectedby the user. Thus, while decompressing the entire object would certainlyproduce the appropriate object identifier, decompressing just the pixellocation selected would achieve the same result. The object identifiervalue of the decompressed data at pixel location (mx,my) is thenreturned to the system, block 86. As previously described above, morecomplex optional versions of the above process can decompress the hittest data and use the object identifier to map into a table, whichreturns either an ascii name or an event to be triggered by the program.

[0032] With reference now to FIG. 6, a flow chart illustrating thecreation of hit test tracks for multi-track movies in accordance withthe preferred embodiment of the present invention will be described. Inblock 90, a newly digitized video frame or a rendered animation framefrom a sequence of moving images is input. The program then looks to seeif the input frame is from rendered animation or digitized video, block92. If the input frame is from rendered animation, an item buffer isgenerated for the frame when rendering the images from the sequence,block 94. As previously discussed, this item buffer, which is laterincorporated into the hit test track, is used as a map of all of theobjects in the scene by labeling each pixel which is contained withinthe area defining that object with an item number or object identifier.Note that pixels within the same object or area of interest wouldcontain the same object identifier.

[0033] If the input frame is from digitized video, the objects in thevideo scene depicted in the video frame are segmented, using patternrecognition techniques or through manual object tracking, to generate anitem buffer for that scene, block 96. Although pattern recognitiontechniques are less labor intensive than manual object tracking, theeffectiveness of pattern recognition, and therefore objectidentification, can vary significantly depending on the subject matterbeing recognized. In addition, manual object tracking has the addedadvantage of allowing the user to specify “invisible” areas of interestin addition to visible objects of interest. Regardless of the type ofinput data, once an item buffer is created, each item buffer is thencompressed using lossless compression, block 98. The program then looks,block 100, to see if the video track corresponding to that item bufferis compressed at a ratio greater than a predetermined threshold, such as10:1. As previously discussed, if the video track happens to be highlycompressed, it may make sense to use a subsampled, or coarser grid,version of the item buffer, such as subsampling on the order of 2:1 or4:1. Hence, in block 102, a subsampled lower resolution version of thecompressed item buffer is used in place of a normal resolution itembuffer, as is utilized in block 104. Again, it should be noted that whena subsampled lower resolution item buffer is utilized, on playback, thenearest available object identification value in the coarse grid versionof the hit test track is used as the object identifier.

[0034] Regardless of the type of item buffer used, in block 106, theimages in each item buffer are then stored as a compressed frame in thehit test data portion of a hit test track. The video frame correspondingto that hit test track is then stored in the video track, block 108.This process continues for each frame of the sequence of images untilall frames of the sequence have been processed, block 110, at whichpoint, the remainder of the user data, such as the hit test tag 52, thesize of the data field 54, the video track identifier 56, the losslesscompression format 58, and the pixel bit depth 60, are stored in the hittest track 50, block 112.

[0035] It should be noted that the present invention has manyapplications related to video display and manipulation technologies,such as the multimedia applications described above, but also in otherareas, such as video games, where pixel accurate, frame accurate objectselection would be desirable. Hence, although the present invention hasbeen described with reference to FIGS. 1 through 6 and with emphasis ona particular embodiment, it should be understood that the figures arefor illustration only and should not be taken as limitations upon theinvention. It is contemplated that many changes and modifications may bemade by one of ordinary skill in the art to the elements, process andarrangement of steps of the process of the invention without departingfrom the spirit and scope of the invention as disclosed above.

We claim:
 1. A method for labeling and subsequently identifying selectedareas within images from a sequence of one or more images operative tobe displayed by a display of a computer having a memory for storing theimages, comprising the steps of: (a) identifying an area to be labeledwithin an image from said sequence of images; (b) labeling every pixelwithin said area with an area identifier which is unique to said area;(c) storing each labeled pixel in a labeled portion of memory linked tosaid image; (d) repeating steps (a) through (c) for each selected areawithin each image from said sequence of images; (e) interrogating saidmemory in response to a user's selection of a pixel location within aselected area from a selected image displayed on said display to locatea labeled portion corresponding to said selected image; (f) evaluatingsaid labeled portion corresponding to said selected image to locate anarea identifier corresponding to said pixel location; and (g)identifying said area identifier to said computer as an indication ofsaid selected area.
 2. The method for labeling and subsequentlyidentifying as recited in claim 1, and further comprising the step of(h) comparing said area identifier corresponding to said pixel locationto a table containing additional information about said selected area.3. The method for labeling and subsequently identifying as recited inclaim 2, wherein said additional information includes a name for saidselected area.
 4. The method for labeling and subsequently identifyingas recited in claim 2, wherein said additional information includes anaction to be performed by said computer which corresponds to saidselected area.
 5. The method for labeling and subsequently identifyingas recited in claim 1, wherein said images are video frames from asequence of video frames, and wherein step (a) includes the step ofsegmenting each area to be labeled from within each video frame using apattern recognizer.
 6. The method for labeling and subsequentlyidentifying as recited in claim 1, wherein said images are video framesfrom a sequence of video frames, and wherein step (a) includes the stepof manually segmenting each area to be labeled from within each videoframe.
 7. The method for labeling and subsequently identifying asrecited in claim 1, wherein said images are rendered frames from asequence of one or more rendered frames, and wherein step (a) includesthe step of rendering said rendered frames to identify each area to belabeled from within each rendered frame.
 8. The method for labeling andsubsequently identifying as recited in claim 1, wherein said selectedareas correspond to visual objects and abstract areas within saidimages.
 9. The method for labeling and subsequently identifying asrecited in claim 1, wherein step (b) includes the steps of: mapping saidarea into an item buffer corresponding to said image; and assigning saidarea identifier to each pixel within said area to form labeled pixelswithin said item buffer corresponding to pixel locations within saidimage.
 10. The method for labeling and subsequently identifying asrecited in claim 9, wherein step (c) includes the steps of: compressingsaid item buffer; storing said compressed item buffer in said labeledportion of memory; and storing an image identifier with said compresseditem buffer in said labeled portion of memory to link said labeledportion of memory to said image.
 11. The method for labeling andsubsequently identifying as recited in claim 10, wherein said images arecompressed for storage in said memory, wherein said item buffer iscompressed using a lossless compression format.
 12. The method forlabeling and subsequently identifying as recited in claim 11, wherein anormal resolution item buffer is utilized when said images arecompressed at a ratio equal to or less than a predetermined thresholdand a subsampled low resolution item buffer is utilized when said imagesare compressed at a ratio greater than said predetermined threshold. 13.The method for labeling and subsequently identifying as recited in claim10, wherein step (c) further includes the step of storing a labeledportion of memory identifier with said image identifier to distinguishsaid labeled portion of memory to said computer from other portions ofsaid memory.
 14. The method for labeling and subsequently identifying asrecited in claim 10, wherein step (c) further includes the step ofstoring a compression format indicator with said image identifier forindicating a compression format for said compressed item buffer to saidcomputer.
 15. The method for labeling and subsequently identifying asrecited in claim 10, wherein step (c) further includes the step ofstoring a pixel bit depth indicator with said image identifier forindicating a bit depth for each labeled pixel to said computer whendecompressing said labeled pixel.
 16. The method for labeling andsubsequently identifying as recited in claim 10, wherein step (c)further includes the step of storing an area to name mapping table withsaid image identifier containing a name for said selected area which isreported to said computer when said selected area is identified to saidcomputer in step (g).
 17. The method for labeling and subsequentlyidentifying as recited in claim 10, wherein step (c) further includesthe step of storing an area to event mapping table with said imageidentifier containing an event corresponding to said selected area whichis reported to and performed by said computer when said selected area isidentified to said computer in step (g).
 18. A method for aiding auser's selection of areas within images represented by a series ofrelated temporal tracks of image data stored in a memory of a computer,the computer being operative to selectively display said images on adisplay of the computer by accessing the temporal tracks of image datafrom the memory, each of the temporal tracks of image data beingoperative to be offset in the memory by a fixed time from other temporaltracks of image data stored in the memory, comprising the steps of: (a)identifying an area within an image which could be selected by saiduser; (b) labeling each pixel within said area with an area identifierwhich is unique to said area; (c) storing each labeled pixel in alabeled track in said memory corresponding to said image; (d) repeatingsteps (a) through (c) for each area within each image which could beselected by said user; (e) searching through said memory in response tosaid user's selection of a pixel location within a selected area of aselected image to locate a labeled track corresponding to said selectedimage; (f) searching said labeled track for a labeled pixelcorresponding to said pixel location; and (g) retrieving said areaidentifier corresponding to said labeled pixel from said memory toindicate said selected area to said computer.
 19. The method for aidinga user's selection of areas within images as recited in claim 18, andfurther comprising the step of: (h) comparing said area identifiercorresponding to said pixel location to a table containing additionalinformation about said selected area.
 20. The method for aiding a user'sselection of areas within images as recited in claim 19, wherein saidadditional information includes a name for said selected area to becommunicated to said user by said computer.
 21. The method for aiding auser's selection of areas within images as recited in claim 19, whereinsaid additional information includes an action identifier whichcorresponds to said selected area, said action identifier beingoperative to be utilized by said computer to perform an action relatedto said selected area.
 22. The method for aiding a user's selection ofareas within images as recited in claim 18, wherein said areas includevisual objects and abstract areas within said images.
 23. The method foraiding a user's selection of areas within images as recited in claim 18,wherein step (b) includes the steps of: mapping said area into an itembuffer corresponding to said image; and assigning said area identifierto each pixel within said area to form labeled pixels within said itembuffer corresponding to pixel locations within said image.
 24. Themethod for aiding a user's selection of areas within images as recitedin claim 23, wherein step (c) includes the steps of: compressing saiditem buffer; storing said compressed item buffer in said labeled track;and storing an image identifier with said compressed item buffer in saidlabeled track.
 25. The method for aiding a user's selection of areaswithin images as recited in claim 24, wherein said image data arecompressed representations of said images, wherein said item buffer is acompressed representation of said area, said item buffer operative to becompressed by said computer using a lossless compression format.
 26. Themethod for aiding a user's selection of areas within images as recitedin claim 25, wherein a normal resolution item buffer is utilized whensaid images are compressed at a ratio equal to or less than apredetermined threshold and a subsampled low resolution item buffer isutilized when said images are compressed at a ratio greater than saidpredetermined threshold.
 27. The method for aiding a user's selection ofareas within images as recited in claim 24, wherein step (c) furtherincludes the step of storing a labeled track identifier in said labeledtrack to distinguish said labeled track to said computer from saidtemporal tracks of image data.
 28. The method for aiding a user'sselection of areas within images as recited in claim 24, wherein saidarea identifier corresponding to said labeled pixel is retrieved fromsaid memory in step (g) by decompressing at least one of said labeledpixels from said item buffer, and wherein step (c) further includes thestep of storing a compression format in said labeled track in such amanner so as to indicate a format to be utilized by said computer whendecompressing said labeled pixels.
 29. The method for aiding a user'sselection of areas within images as recited in claim 28, wherein step(c) further includes the step of storing a pixel bit depth indicator insaid labeled track in such a manner so as to indicate a bit depth atwhich to decompress said labeled pixels.
 30. The method for aiding auser's selection of areas within images as recited in claim 24, whereinstep (c) further includes the step of storing an area to name mappingtable in said labeled track, said table including a name for saidselected area which is reported to said computer when said areaidentifier is retrieved from said computer.
 31. The method for aiding auser's selection of areas within images as recited in claim 24, whereinstep (c) further includes the step of storing an area to event mappingtable in said labeled track, said table including an event correspondingto said selected area which is reported to and performed by saidcomputer when said area identifier is retrieved from said computer. 32.A hit test track for identifying and aiding in a user's selection ofitems within a multimedia work operative to be performed by a computer,the multimedia work being represented by a series of temporal tracks ofdata stored in a memory used by the computer, each of the temporaltracks of data being operative to be offset from other temporal tracksof data by some fixed time, the hit test track comprising: a datasection operative to be utilized by said computer in identifying saiditems, said data section including an item identifier for each of saiditems; a data section size indicator to be utilized by said computer todenote a quantity of said memory occupied by said data section; atemporal track identifier to be utilized by said computer to indicate atemporal track which corresponds to said data section; and a hit testidentifier to be utilized by said computer to distinguish said hit testtrack from said temporal tracks.
 33. The hit test track as recited inclaim 32, wherein said data section includes an item buffercorresponding to a group of said items, and wherein said itemidentifiers for said group of items are stored within said item buffer.34. The hit test track as recited in claim 33, wherein said item bufferis operative to be compressed by said computer using a losslesscompression format prior to storage in said memory.
 35. The hit testtrack as recited in claim 34, wherein said temporal tracks of data arestored in said memory in a compressed format, wherein said item bufferis a normal resolution item buffer when said temporal tracks of data arecompressed at a ratio equal to or less than a predetermined threshold,and wherein item buffer is a subsampled low resolution item buffer whensaid temporal tracks of data are compressed at a ratio greater than saidpredetermined threshold.
 36. The hit test track as recited in claim 33,wherein said item buffer is operative to be compressed by said computerin a compression format prior to storage in said memory, and whereinsaid hit test track further comprises a compression format indicator tobe utilized by said computer to determine said compression format. 37.The hit test track as recited in claim 33, wherein each of said items isan object operative to be displayed on a display of said computer whensaid multimedia work is performed by said computer, wherein said itembuffer includes a group of pixels corresponding to each of said items,wherein said item buffer is operative to be compressed by said computerin a compression format prior to storage in said memory, and whereinsaid hit test track further comprises a bit depth indicator to beutilized by said computer to indicate a compression bit depth for saidgroup of pixels to said computer when said item buffer is retrieved fromsaid memory.
 38. The hit test track as recited in claim 32, wherein saidhit test track further comprises an item to name mapping table whichincludes a name for each of said items.
 39. The hit test track asrecited in claim 32, wherein said hit test track further includes anitem to event mapping table, each event corresponding to a selecteditem, each event being operative to be performed by said computer aftersaid user selects an item.